﻿using System;

namespace CRM.Database.Model
{
    public partial class CreditConditions : IGetKeyValue, ISetChangedUser
    {
        #region Implementation of IGetKeyValue

        /// <summary>
        /// Получение ключего значения элемента
        /// </summary>
        /// <returns>Ключевое значение</returns>
        public int GetKeyValue()
        {
            return IdCreditCondition;
        }

        #endregion

        #region Implementation of ISetChangedUser

        /// <summary>
        /// Установка пользователя, который сделал изменение
        /// </summary>
        /// <param name="userLogin">Логин пользователя</param>
        public void SetChangedUser(string userLogin)
        {
            if (string.IsNullOrEmpty(userLogin))
                throw new NotImplementedException("Необходимо указать пользователя");
            IdUser = userLogin;
        }

        #endregion



        /// <summary>
        /// Юридическое лицо
        /// </summary>
        public string LegalEntityName
        {
            get { return LegalEntities.Name; }
        }


        /// <summary>
        /// Тип кредитного условия
        /// </summary>
        public string CreditConditionType
        {
            get { if (CreditTypes != null) return CreditTypes.GetLocalizedName();
                return "-";
            }
        }


        /// <summary>
        /// Сумма кредита
        /// </summary>
        public string CreditConditionAmount
        {
            get { return Amount.ToString(); }
        }


        /// <summary>
        /// Единица измерения
        /// </summary>
        public string Unit
        {
            get { if (Units != null) return Units.LocalizedName;

                return "-";
            }
        }


        /// <summary>
        /// Количесто календарных дней
        /// </summary>
        public string CalendarDaysQuantity
        {
            get { return NumberOfDays.ToString(); }
        }

        public string CreditConditionStr
        {
            get { return LegalEntityName+", "+ CreditConditionAmount + " " + Unit; }
            
        }
    }
}